/*
事件模板
 */

import emitter from '@ohos.events.emitter';
import CommonEvent from '@ohos.commonEvent';

export namespace eventModel{
    export function subscribe(eventId:number,
                              eventPriority:emitter.EventPriority = emitter.EventPriority.IDLE,
    ) {
        emitter.on({                                // 开启事件订阅
            eventId: eventId,                           // 指定事件的ID
            priority: eventPriority // 事件的优先级
        }, (data) => {                              // 事件回调
            if(data) {
                this.text = "data: " + JSON.stringify(data);
            } else {
                this.text = "none data";
            }
        })
        this.text = "subscribe success";
    }

    export function unsubscribe() {
        emitter.off(10086);                         // 取消订阅事件
        this.text = "unsubscribe success";
    }

    export function publishEvent() {
        emitter.emit({                              // 发布事件
            eventId: 10086,                           // 指定事件ID
            priority: emitter.EventPriority.IMMEDIATE // 指定事件优先级
        })
    }

    export function publishEventWithData() {
        emitter.emit({
            eventId: 10086,                           // 发布事件
            priority: emitter.EventPriority.IMMEDIATE // 指定事件优先级
        }, {                                        // 添加额外参数
            data: {
                "test": 'emitter test'
            }
        })
    }
}
